Substantial efforts are continually being expended to improve and simplify the user/computer interface. Considerable effort has been expended in various attempts to enable a user to employ a natural language as the interface media. A natural language interface presents a number of problems. First, the complex characteristics of language cannot easily be mapped to structures that a computer can interpret and respond to. Consequently, natural language interaction systems have traditionally suffered from a lack of clarity insofar as understanding and response to instructions and queries are concerned. Also, the range of user perspectives and expectations for a natural language interface are so all-encompassing, that it is essentially impossible to design a "pure" natural language system that is universally understood. Given such limitations, a user is often required to expend substantial effort interacting, in a trial-and-error mode, with a computer to shed some light on how to construct a natural language query to find out about the computer's knowledge. Furthermore, traditional natural language systems have been designed with the thought that the user would query the computer and the computer would respond without any feedback to assist the user in understanding the computer's internal representation of the knowledge.
Many sophisticated computers employ a help function to enable the user to overcome difficulties experienced in the course of operating the computer. In the past, various "intelligent" help systems have been proposed, at least some of which incorporate concepts, techniques and tools from the field of artificial intelligence. See, for instance, U.S. Pat. No. 5,239,617, entitled "Method and Apparatus For Providing an Intelligent Help Explanation Paradigm Paralleling Computer User Activity" of Gardner et al., assigned to the same Assignee as this application. In the system described in that application, an intelligent help program is invoked by a user entering an erroneous command or a question. The help system then analyzes the command or question and, in response, allows the user to view one or more suggestions or explanations that are dynamically generated and tailored to the specific paths or goals of the user. Prager et al., in a paper entitled "Reason: An Intelligent User Assistant for Interactive Environment", IBM Systems Journal, Vol. 29, No. 1, 1990, pp. 141-163, describe details of an intelligent user/computer interface. The interface enables a user to query a computer system using a natural language input. "Reason" includes a parser which produces a "case frame" format syntactical analysis of the user's input query. The case frame is then used to generate a goal expression that is, in turn, used in a search for an answer to the user's query. The Reason system does not disclose the goal expression to the user, but rather uses it solely for internal search purposes.
Other natural language systems have been designed using a menu-based natural language discourse as the mode of interaction, see, Ogden et al., "An Intelligent Front End For SQL: Correcting User Errors With Natural Language Menus", Human Factors Center, San Jose, Calif., Document No. HFC-55. In the Ogden et al. system, a user is prompted by a menu to select various parts of a sentence so as to be able to construct a query based on the structure and limitations of the system's knowledge-base. This type of design helps to overcome the problem of a user being unaware of the breadth of system interface coverage. However, it imposes an artificial limit on the set of queries that can be constructed.
Traditional approaches to natural language dialogue have used ordinary human conversation as the model for human-computer interaction. In trying to capture all the subtleties of natural dialogue, systems have been built that are enormously complex and computationally expensive. As such, they remain largely impractical.
Certain researchers have explored ways of minimizing the computer's processing burden by requiring user inputs to be in a more constrained form of natural language. Results of such studies have found that such a form may be desirable, as well as more practicable for enhancing efficiency and satisfaction with the interfaced system, i.e., see Ringle et al. "Shaping User Input: A Strategy For Natural Language Dialogue Design", Interacting with Computers, Vol. 1, No. 3 (December, 1989).
While many previous investigators have employed natural language interfaces for system queries and instructions, none appear to have employed user-feedback to provide help to the user by means of dynamically generated suggestions or by reason of confirmation of the computer's understanding of the natural language input. Exemplary descriptions of natural language interfaces can be found in the following:
Cohen, P. R. and Sullivan, J. W. (1989). "Synergistic Use of Direct Manipulation and Natural Language", ACM Computer Human Interaction 1989 Proceedings, April 30-May 4, Austin, TX, pp. 227-232. Gomez, L. M. and Lochbaum, C. C. (1984). "People Can Retrieve More Objects With Enriched Key-Word Vocabularies. But Is There A Human Performance Cost?", Human-Computer Interaction, INTERACT '84, B. Shackel (ed.), Elsevier Science Publishers B.V. (North-Holland), pp. 257-261.
McCord, M., "Natural Language Processing in Prolog" Knowledge Systems and Prolog., A. Walker (ed.), Addision-Wesley Publishing Company Reading, Mass. (1987), pp. 316-324.
Napier, H. A. Lane, D. M., Bastell, R. R. and Guadango, N.S. (1989), "Impact Of a Restricted Natural Language Interface On Ease of Learning and Productivity", Communications of the ACM, Vol. 32, No. 10, pp. 1190-1197.
Warren D. H. D. and Pereira, F. C. N. (July-December 1982), "An Efficient, Easily Adaptable System for Interpreting Natural Language Queries", American Journal of Computational Linguistics, Vol. 8, No. 3-4, pp. 110-123.
The patent prior art also shows various uses of natural language interfaces for computer systems. U.S. Pat. No. 4,914,590 to Loatman et al. describes a system for understanding natural language inputs that uses a syntactic parser to produce case frames for subsequent analysis. The Loatman et al. system makes no provision for feedback to the originator of the natural language input to enable revision of the inputs or an understanding on the part of the user that the system properly comprehends the input.
U.S. Pat. No. 4,994,967 to Asakawa describes an approach to parsing a natural language input to determine undefined words. The parsing task is accomplished by examining the grammatical relationships between undefined words and words immediately before and after.
U.S. Pat. No. 4,942,526 to Okajima et al. is concerned with the elimination of semantically impossible parses of ambiguous natural-language inputs. This is accomplished by reference to co-occurrence tables which are lists generated by examining a large number of existing texts or by knowing which words typically "go together". On the basis of the results of the co-occurrence relation, the parse is accordingly modified.
U.S. Pat. No. 4,974,191 to Amirghodsi et al. describes a system interface that performs semantic processing of natural language inputs. The natural language input is mapped from its natural form to a second language which includes corresponding words, based upon cryptographic techniques, including frequency of use, distribution, etc. A message is generated in the second language utilizing a second language retrieved as a result of the cryptographic functions.
U.S. Pat. No. 4,839,853 to Deerwester et al. employs a constrained natural language as an alternative input medium. In trying to determine the semantic relationships between input words and documents in a data base, Deerwester et al. store document information and process the contents to form matrices of frequency of occurrence of words. Those matrices are employed in the syntactical analysis of a query.
U.S. Pat. No. 4,829,423 to Tennant et al describes the use of a menu-based front-end natural language input.
U.S. Pat. No. 4,931,935 to Ohira et al. describes a user interface wherein a natural language is employed to interact with an information retrieval system. The Ohira et al. system is directed at a procedure for minimizing response delays to a user input. The system attempts to predict (using a semantic network representation) follow-up questions and presents the system-generated guesses on a menu for user selection.
U.S. Pat. Nos. 4,811,199 to Kuechler et al. and 4,930,071 to Tou et al. both describe systems for enabling information-based or knowledge-based systems to communicate with other subsystems within a computer. Both systems describe the use of maps from the database to another portion of the system.
Accordingly, it is an object of this invention to provide a user/computer interface that employs a constrained, natural language.
It is another object of this invention to provide a user/computer interface wherein the computer provides feedback to the user that enables the user to understand the level of comprehension of the computer to a natural language input.
It is yet another object of this invention to provide a natural language-based user/computer interface wherein a single simplified query form is used, both to provide feedback to the user and to provide internal queries to a knowledge and/or database in the computer.